Bytecode Analysis for Checking Java Access Modifiers
نویسنده
چکیده
The access modifiers for Java are a mechanism for information hiding and therefore especially important for large projects. An access modifier that is too restrictive is reported as a compilation error. An access modifier that could be more restrictive is however not reported at all. On the long run, changes to a project lead to less restrictive modifiers, if the programmer does not actively work against it. This project is about building a bytecode analysis tool for checking the access modifiers and giving a report to the programmer, where his access modifiers could be more restrictive.
منابع مشابه
Towards Array Bound Check Elimination in Java Virtual Machine Language
The Java Virtual Machine Language (JVML) is a platform independent programming language at bytecode level. A Java program is compiled into JVML bytecode in a standard Java implementation, which may be transferred across networks to various hosts and then interpreted by the Java Virtual Machine. Note that these hosts may not trust the source of the bytecode. For safety concerns, JVML disallows o...
متن کاملTowards array bound check elimination in Java TM virtual machine language
In a standard Java implementation, a Java program is compiled into Java bytecode, which is then interpreted by Java virtual machine (JVM). We refer to the bytecode language as Java virtual machine language in this paper. For safety concerns, JVM performs run-time array bounds checking to detect out-of-bounds array access. Unfortunately , this practice can be prohibitively expensive in cases inv...
متن کاملBytecode Model Checking: An Experimental Analysis
Java bytecode verification is traditionally performed by a polynomial time dataflow algorithm. We investigate an alternative based on reducing bytecode verification to model checking. Despite an exponential worst case time complexity, model checking type-correct bytecode is polynomial in practice when carried out using an explicit state, onthe-fly model checker like Spin. We investigate this th...
متن کاملJava Bytecode Veriication Using Model Checking ?
We provide an abstract interpretation for Java bytecode in order to build nite state models of bytecode programs. The bytecode constraints for assuring safety are formulated in terms of temporal logic formulae. These formulae are checked against the nite program models by a (standard) model checker. By doing so we see a practical way to perform bytecode veriication on a formal basis. This could...
متن کاملJava Bytecode Veri cation Using Model Checking?
We provide an abstract interpretation for Java bytecode programs to build nite state models of these programs. We describe the bytecode constraints as CTL formulas which can be checked against the nite models by a (standard) model checker. We see a practical way to perform bytecode veri cation on a formal basis in that it could help to achieve higher security and open the door for further exten...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009